<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Q Light Controller Plus - Virtual Console Speed Dial</TITLE>
<SCRIPT SRC="utility.js" TYPE="text/javascript"></SCRIPT>
<link href="style.css" rel="stylesheet" type="text/css" />
</HEAD>
<BODY onLoad="replaceqrc()">

<H1><IMG SRC="qrc:/speed.png" ALIGN="absmiddle"> Virtual Console Speed Dial</H1>

<P>
Speed dials are meant for adjusting the speed of a set of functions from virtual console,
much like bus-mode sliders in the previous versions of QLC+. While the bus concept relied on
assigning functions and a slider to the same bus, the speed dial's method is a simpler and
more straightforward one: The user directly selects a set of functions whose speed properties are
controlled with the dial, thus removing the need for buses in the middle.
</P>

<br>
The widget is displayed as following:<br>

<IMG SRC="../images/speeddial.png" />

<H3>Widget elements</H3>

<TABLE BORDER=1 class="qlcTable">
 <TR>
  <TD><B>(1) Time control buttons</B></TD>
  <TD>The plus and minus buttons increment or decrement by one the currently focused time field of <B>(4)</B>.
      By default the focused field is milliseconds</TD>
 </TR>
 <TR>
  <TD><B>(2) Dial</B></TD>
  <TD>The dial can be manually rotated indefinitely to adjust the current focused time field of <B>(4)</B>.
      By default the focused field is milliseconds</TD>
 </TR>
 <TR>
  <TD><B>(3) Tap Button</B></TD>
  <TD>The tap button sets the Speed Dial time value to the interval between the button press/release actions.
      The faster it will be pressed, the lower the time value will be</TD>
 </TR>
 <TR>
  <TD><B>(4) Time fields</B></TD>
  <TD>The 4 time fields display the current time value of the Speed Dial and they can be adjusted individually
      either by entering a number with a keyboard, or by using the time controls buttons <B>(1)</B>, the
      dial <B>(2)</B>, the tap button <B>(3)</B> or presets <B>(11)</B>.
  </TD>
 <TR>
  <TD><B>(5) Divider button</B></TD>
  <TD>Divide the current time factor by 2 and apply it to the current Speed Dial time.<br>
  A factor lower than 1x will become a fraction like 1/2x, 1/4x, etc</TD>
 </TR>
 <TR>
  <TD><B>(6) Time factor</B></TD>
  <TD>Displays the current factor multiplied by the time currently displayed in <B>(4)</B>.<br>
  A factor lower than 1x is a divider. Example: time = 8s.28, factor = 1/4x, result = 02s.07 </TD>
 </TR>
 <TR>
  <TD><B>(7) Multiplier button</B></TD>
  <TD>Multiply the current time factor by 2 and apply it to the current Speed Dial time.</TD>
 </TR>
 <TR>
  <TD><B>(8) Reset button</B></TD>
  <TD>Reset the current time factor to 1x and apply it to the current Speed Dial time.</TD>
 </TR>
 <TR>
  <TD><B>(9) Factored time</B></TD>
  <TD>Displays the result of the Speed Dial time multiplied by the current time factor <B>(6)</B></TD>
 </TR>
 <TR>
  <TD><B>(10) Apply button</B></TD>
  <TD>Applies the current Speed Dial time to the Functions associated. This is useful when multiple
      Speed Dials are present in a Virtual Console</TD>
 </TR>
 <TR>
  <TD><B>(11) Preset buttons</B></TD>
  <TD>This area displays the time presets, if present, added by the user</TD>
 </TR>
</TABLE>

<H3>Operation</H3>

<P>
The speed dial itself looks and works just as the same as the speed dials in various function
editors: There is a <B>big dial (2)</B> in the middle that increases the time when rotated clockwise
and decreases it when rotated counter-clockwise. The plus
<IMG SRC="qrc:/edit_add.png" HEIGHT="16"/> and minus
<IMG SRC="qrc:/edit_remove.png" HEIGHT="16"/> buttons <B>(1)</B> are an alternative way of adjusting the speed.
</P>

<P>
The <B>current time</B> value  <B>(4)</B> is displayed in four parts. When any of these fields is clicked,
the dial and the plus/minus buttons will increase/decrease that unit of time. The mouse
wheel can also be used instead of the dial/buttons and the fields also accept values entered
on the numeric keypad.
<LI><B>h</B>: Hours</LI>
<LI><B>m</B>: Minutes</LI>
<LI><B>s</B>: Seconds</LI>
<LI><B>.xx</B>: Centiseconds (100ths of a second)</LI>
</P>

<P>
The <B>tap</B> button <B>(3)</B> can be used to match the time to a beat.
The elapsed time between clicks is measured and this time is set for the controlled functions, just as if the dial
had been adjusted to that particular time.
</P>

<P>For cuelists/chasers and RGB Matrices, the tap button advances the function to next step/position when
speed dial is set to adjust duration. The tapped tempo must be more than 1/4 of the original duration.
</P>

<H3>Configuration - Functions tab</H3>
<P>
Speed dials can be configured with the properties
<IMG SRC="qrc:/edit.png" ALIGN="bottom"> button found in the toolbar or
by double clicking the speed dial itself.
</P>

<TABLE BORDER=1 class="qlcTable">
 <TR>
  <TD>
   <B>Speed Dial Name</B>
  </TD>
  <TD>
   Change the dial's name.
  </TD>
 </TR>
 <TR>
  <TD>
   <B>Function table</B>
  </TD>
  <TD>
   <P>Displays the list of functions, whose speed value(s) are being controlled by the dial.</P>
   <P>For each speed value (fade in, fade out, duration), it is possible to set a multiplier.</P>
   <TABLE BORDER=1 class="qlcTable">
    <TR>
     <TD>
      <B>Fade In factor</B>
     </TD>
     <TD>
      Select a multiplier to adjust the functions' <A HREF="concept.html#Functions">fade in speed</A>
     </TD>
    </TR>
    <TR>
     <TD>
      <B>Fade Out factor</B>
     </TD>
     <TD>
      Select a multiplier to adjust the functions' <A HREF="concept.html#Functions">fade out speed</A>
     </TD>
    </TR>
    <TR>
     <TD>
      <B>Duration factor (+tap)</B>
     </TD>
     <TD>
      Select a multiplier to adjust the functions' <A HREF="concept.html#Functions">duration</A>
     </TD>
    </TR>
   </TABLE>
   <P>This multiplier will be applied to the speed dial value before adjusting the functions' speed value.</P>
   <P>Select <B>(Not Sent)</B> so the functions' speed value will not be affected by this speed dial.</P>
  </TD>
 </TR>
 <TR>
  <TD>
   <IMG SRC="qrc:/edit_add.png"/>
  </TD>
  <TD>
   Add function(s) to be controlled by the speed dial.
  </TD>
 </TR>
 <TR>
  <TD>
   <IMG SRC="qrc:/edit_remove.png"/>
  </TD>
  <TD>
   Remove the selected functions from the speed dial's list of controlled functions.
  </TD>
 </TR>
</TABLE>

<H3>Configuration - Input tab</H3>
<P>
Input from an external controller can be configured here
<UL>
 <LI><B>Absolute Value</B>: Select an absolute time range (and precision) that an external signal will control</LI>
 <LI><B>Tap</B>: Connect a signal or a key combination to the Speed Dial Tap button <B>(3)</B></LI>
 <LI><B>Apply</B>: Connect a signal or a key combination to the Speed Dial apply button <B>(10)</B></LI>
</UL>
one for value with minimum and maximum and another for tap button.
</P>

<H3>Configuration - Appearance tab</H3>
<P>
Individual visibility of the widget's layout elements can be switched on or off here. This way it is possible to
save some screen real estate if some of the fields are not needed (e.g. when controlled by an external controller,
the big dial is not needed).
</P>

<TABLE BORDER=1 class="qlcTable">
 <TR>
  <TD><B>Show the plus and minus buttons</B></TD>
 </TR>
 <TR>
  <TD><B>Show the central dial</B></TD>
 </TR>
 <TR>
  <TD><B>Show the tap button</B></TD>
 </TR>
 <TR>
  <TD><B>Show the hours field</B></TD>
 </TR>
 <TR>
  <TD><B>Show the minutes field</B></TD>
 </TR>
 <TR>
  <TD><B>Show the seconds field</B></TD>
 </TR>
 <TR>
  <TD><B>Show the milliseconds field</B></TD>
 </TR>
 <TR>
  <TD><B>Show multiplier and divider buttons</B></TD>
 </TR>
 <TR>
  <TD><B>Show the apply button</B></TD>
 </TR>

</TABLE>

<H3>Configuration - Mutliplier tab</H3>
<P>
Here it is possible to select if the multiply factor should be reset when the dial <B>(2)</B> is manually
adjusted and individual external controls for the multiplier button <B>(5)</B>, the divider button <B>(7)</B>
and the reset factor button <B>(8)</B>
</P>

<H3>Configuration - Presets tab</H3>
<P>
A preset is a way to have a quick access to a predifined value for a speed dial.<br>
Each preset is represented as a button in the speed dial widget layout,
and can be either clicked with the mouse or pressed on a touchscreen, or
associated to a key combination or an external controller input line.<br>
On the left of the preset tab, there is the list of presets. When selecting a preset
in this list, the button on the right will be able to edit its properties.
</P>

<TABLE BORDER=1 class="qlcTable">
 <TR>
  <TD>
   <B><IMG SRC="qrc:/edit_add.png" HEIGHT="16"/> Add preset</B>
  </TD>
  <TD>Add a preset</TD>
 </TR>
 <TR>
  <TD>
   <B><IMG SRC="qrc:/edit_remove.png" HEIGHT="16"/> Remove preset</B>
  </TD>
  <TD>Remove selected preset</TD>
 </TR>
 <TR>
  <TD>
   <B><IMG SRC="qrc:/editclear.png" HEIGHT="16"/> Preset name</B>
  </TD>
  <TD>Edit the selected preset's name. By the default the name is the dial time.</TD>
 </TR>
 <TR>
  <TD>
   <IMG SRC="qrc:/speed.png" HEIGHT="16"/><B>Speed dial</B>
  </TD>
  <TD>Edit the selected preset's time value</TD>
 </TR>
</TABLE>

</BODY>
</HTML>
